﻿Public Class FrmBProducto
    Public Property BuscarPor As String
    Private rProducto As GBDZafiro.Producto
    Public ReadOnly Property oProducto As GBDZafiro.Producto
        Get
            Return rProducto
        End Get
    End Property
  
    Private Sub btBuscar_Click(sender As System.Object, e As System.EventArgs) Handles btBuscar.Click
        Buscar()
        gvProducto.Focus()
    End Sub

    Private Sub Buscar()
        If Not String.IsNullOrEmpty(tbCodigo.Text) Or Not String.IsNullOrEmpty(tbReferencia.Text) Or Not String.IsNullOrEmpty(tbDescripcion.Text) Then
            Dim dt As New DataTable
            gvProducto.Columns("COSTO_UNIT").Visible = True
            gvProducto.Columns("BD_REFERENCIA").Visible = True
            dt = GBDZafiro.Producto.consGeneral(tbCodigo.Text, tbReferencia.Text, tbDescripcion.Text)
            gvProducto.DataSource = dt
            gvProducto.Columns("COSTO_UNIT").Visible = False
            gvProducto.Columns("BD_REFERENCIA").Visible = False
            If dt.Rows.Count = 0 Then
                lbNoDatos.Visible = True
            Else
                lbNoDatos.Visible = False
            End If
        Else
            msnBox.msnInformacion("Digite algun valor para buscar")
        End If
    End Sub

    Private Sub LimpiarTextos()
        tbDescripcion.Text = ""
        tbReferencia.Text = ""
        tbCodigo.Text = ""
    End Sub

    Private Sub tb_GotFocus(sender As Object, e As System.EventArgs) Handles tbCodigo.GotFocus, tbDescripcion.GotFocus, tbReferencia.GotFocus
        LimpiarTextos()
    End Sub

    Private Sub tb_KeyPress(sender As Object, e As System.Windows.Forms.KeyPressEventArgs) Handles tbDescripcion.KeyPress, tbCodigo.KeyPress, tbReferencia.KeyPress
        If e.KeyChar = ChrW(Keys.Enter) Then
            Buscar()
        End If
    End Sub

    Private Sub FrmBProducto_Load(sender As Object, e As System.EventArgs) Handles Me.Load
        Select Case BuscarPor
            Case "CODIGO"
                tbCodigo.TabIndex = 0
                tbReferencia.TabIndex = 1
                tbDescripcion.TabIndex = 2
            Case "REFERENCIA"
                tbCodigo.TabIndex = 2
                tbReferencia.TabIndex = 0
                tbDescripcion.TabIndex = 1
        End Select
    End Sub
    Private Sub RetornarProducto()
        rProducto = New GBDZafiro.Producto
        rProducto.codProducto = gvProducto.Item("CODIGO", gvProducto.CurrentRow.Index).Value
        rProducto.referencia = gvProducto.Item("REFERENCIA", gvProducto.CurrentRow.Index).Value
        rProducto.descripcion = gvProducto.Item("DESCRIPCION", gvProducto.CurrentRow.Index).Value
        rProducto.idUniMed = gvProducto.Item("UNIDAD", gvProducto.CurrentRow.Index).Value
        rProducto.existencia = gvProducto.Item("EXISTENCIA", gvProducto.CurrentRow.Index).Value
        rProducto.precio1 = gvProducto.Item("PRECIO_1", gvProducto.CurrentRow.Index).Value
        rProducto.precio2 = gvProducto.Item("PRECIO_2", gvProducto.CurrentRow.Index).Value
        rProducto.precio3 = gvProducto.Item("PRECIO_3", gvProducto.CurrentRow.Index).Value
        rProducto.porcDcto = gvProducto.Item("PORC_DCTO", gvProducto.CurrentRow.Index).Value
        rProducto.porcIVA = gvProducto.Item("PORC_IVA", gvProducto.CurrentRow.Index).Value
        rProducto.ctrlSerial = gvProducto.Item("CTRL_SERIAL", gvProducto.CurrentRow.Index).Value
        rProducto.costoUni = gvProducto.Item("COSTO_UNIT", gvProducto.CurrentRow.Index).Value
        rProducto.peso = gvProducto.Item("PESO", gvProducto.CurrentRow.Index).Value
        rProducto.bdReferencia = gvProducto.Item("BD_REFERENCIA", gvProducto.CurrentRow.Index).Value
        DialogResult = Windows.Forms.DialogResult.OK
    End Sub

    Private Sub gvProducto_CellDoubleClick(sender As Object, e As System.Windows.Forms.DataGridViewCellEventArgs) Handles gvProducto.CellDoubleClick
        RetornarProducto()
    End Sub

    Private Sub gvProducto_KeyDown(sender As Object, e As System.Windows.Forms.KeyEventArgs) Handles gvProducto.KeyDown
        If e.KeyCode = Keys.Enter Then
            RetornarProducto()
        End If
    End Sub

End Class